using System;
using System.Collections.Generic; //contem List
using System.ComponentModel; //contem List

using Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Request;
using Sinacor.Servico.Bovespa.Ordens.BusinessEntity;

namespace Sinacor.Servico.Bovespa.Ordens.Service.ServiceImplementation.Translator
{
    public static class TranslateBetweenConsultarOrdemMegaBolsaRequestAndOrdemMegaBolsa
    {
        public static 
            BusinessEntity.OrdemMegaBolsa 
            TranslateConsultarOrdemMegaBolsaRequestToOrdemMegaBolsa
            (DataContract.Request.ConsultarOrdemMegaBolsaRequest from)
        {
            BusinessEntity.OrdemMegaBolsa 
            to = new BusinessEntity.OrdemMegaBolsa();
            to.DataOrdem = from.DataPregao;
            to.NumeroOrdem = from.NumeroOrdem;
            if (to.Cliente != null)
            {
                to.Cliente.Apelido = from.ApelidoCliente;
            }
            else
            {
                to.Cliente = new Sinacor.Servico.Bovespa.Cliente.BusinessEntity.Cliente();
                to.Cliente.Apelido = from.ApelidoCliente;
            }
            to.Titulo = from.Titulo;
            to.Operador = from.Operador;
            if (from.IsCanceladas)
            {
                to.Situacao = "D";
            }
            else 
            {
                to.Situacao = "";
            }
            to.TipoSituacaoCasamentoOrdem = (Sinacor.Servico.Bovespa.Ordens.BusinessEntity.Enum.TipoSituacaoCasamento) from.TipoSituacaoCasamentoOrdem;
            to.NumeroOrdemSubSequencia = from.NumeroOrdemSubSequencia; //incluido - eduardo - 20080201

            return to;
        }
    }
}

